Skip to content

Use case-insensitive substring tag matching for todo and note filters#793

Merged
multiplex55 merged 1 commit intomasterfrom
codex/update-tag-matching-logic-to-be-case-insensitive
Feb 2, 2026
Merged

Use case-insensitive substring tag matching for todo and note filters#793
multiplex55 merged 1 commit intomasterfrom
codex/update-tag-matching-logic-to-be-case-insensitive

Conversation

@multiplex55
Copy link
Copy Markdown
Owner

Motivation

  • Improve tag matching so partial tag queries match tag variants (e.g., #rs matches rs3) and make matching case-insensitive.
  • Allow @ as an alternative prefix to # in todo edit tag filters so users can query consistently with other commands.

Description

  • Updated src/plugins/todo.rs to accept @ as well as # in the todo edit tag branch and to use case-insensitive substring matching when filtering tags in both the todo edit and todo list include/exclude tag branches by using to_lowercase().contains(...) comparisons.
  • Updated src/plugins/note.rs note list branch to replace strict equality checks with case-insensitive substring checks for both include and exclude tag filters while keeping parse_query_filters invoked with &["@", "#", "tag:"] prefixes.
  • Added/updated tests: expanded tests/todo_plugin.rs::list_filters_by_tag to cover todo list #rs, todo list @wor, and a negated partial filter todo list !#ui; added src/plugins/note.rs::note_list_supports_partial_tag_filters to cover note list #test, note list @ui, and a negated partial tag case.

Testing

  • Attempted cargo test list_filters_by_tag; the build started but failed during the build of a dependency (alsa-sys) due to a missing system library (alsa) / pkg-config configuration, so the tests did not run to completion.
  • Initially attempted cargo test list_filters_by_tag note_list_supports_partial_tag_filters which was an invalid cargo invocation and produced an argument error before rerunning the tests correctly.
  • No unit tests completed successfully in this environment due to the external dependency build failure; tests added are named list_filters_by_tag and note_list_supports_partial_tag_filters and should pass in an environment with the required system libraries (or with the dependency disabled).

Codex Task

@multiplex55 multiplex55 merged commit 69523d7 into master Feb 2, 2026
1 check passed
@multiplex55 multiplex55 deleted the codex/update-tag-matching-logic-to-be-case-insensitive branch February 2, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant